package com.gmrz.uap.uasconfig;

import com.gmrz.uap.model.UasConfig;
import com.jfinal.kit.StrKit;
import com.jfinal.plugin.ehcache.CacheKit;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.List;

public class UasConfigContentService {

    private static final Logger LOG = LoggerFactory.getLogger(UasConfigContentService.class);

    public static final UasConfigContentService me = new UasConfigContentService();

    public String getUasConfigValueStr(String key) {

        initUasConfigToCache();

        String value = CacheKit.get(UasConfigConst.UASCONIFG_CACHE, key);

        if (StrKit.notBlank(value))
            return value.trim();

        return value;

    }

    public boolean getUasConfigValueBoolean(String key) {

        initUasConfigToCache();

        String value = CacheKit.get(UasConfigConst.UASCONIFG_CACHE, key);

        if (StrKit.notBlank(value))
            return Boolean.parseBoolean(value.trim());

        return false;
    }

    public int getUasConfigValueInt(String key) {

        initUasConfigToCache();

        String value = CacheKit.get(UasConfigConst.UASCONIFG_CACHE, key);

        if (StrKit.notBlank(value))
            return Integer.parseInt(value.trim());

        return 0;

    }


    public void initUasConfigToCache(){
        List cacheKeys = CacheKit.getKeys(UasConfigConst.UASCONIFG_CACHE);
        if(cacheKeys.isEmpty()){
            List<UasConfig> uasConfigList = UasConfig.dao.getAllConfig();

            for (UasConfig uasConfig : uasConfigList) {
                CacheKit.put(UasConfigConst.UASCONIFG_CACHE, uasConfig.getConfigEname(), uasConfig.getConfigValue());
            }
        }
    }

}
